package com.hon.legionnaire.negocio.vo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

@Entity
@Table(name = "parcela")
@SequenceGenerator(name = "parcela_seq", sequenceName = "parcela_cod_parcela_seq", allocationSize = 1)

public class ParcelaVO implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id
	@Column(name = "cod_parcela")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "parcela_seq")
	private int codigo;
	
	@Column(name = "numero")
	private int numero;
	
	@Column(name = "porcentagem")
	private float porcentagem;
	
	@Column(name = "qtdeDias")
	private int qtdeDias;
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "cod_condicao_pagamento")
	@Fetch(FetchMode.JOIN)
	private CondicaoPagamentoVO condicaoPagamentoVO;
	
	
	public ParcelaVO() {
		
	}

	public ParcelaVO(int codigo, float porcentagem) {
		this.codigo = codigo;
		this.porcentagem = porcentagem;
	}
	
	public int getQtdeDias() {
		return qtdeDias;
	}

	public void setQtdeDias(int qtdeDias) {
		this.qtdeDias = qtdeDias;
	}

	public CondicaoPagamentoVO getCondicaoPagamentoVO() {
		return condicaoPagamentoVO;
	}

	public void setCondicaoPagamentoVO(CondicaoPagamentoVO condicaoPagamentoVO) {
		this.condicaoPagamentoVO = condicaoPagamentoVO;
	}

	public int getNumero() {
		return numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	public float getPorcentagem() {
		return porcentagem;
	}

	public void setPorcentagem(float porcentagem) {
		this.porcentagem = porcentagem;
	}
}